fn main() {
	// by default, `a` will have the type int
	a := 123
	
	// use hexadecimal, binary or octal notation for integer literals
	b := 0x7B
	c := 0b01111011
	d := 0o173

	// use `_` as seperator
	num := 1_000_000      // same as 1000000
	three := 0b0_11       // same as 0b11
	float_num := 3_122.55 // same as 3122.55
	hexa := 0xF_F         // same as 255
	oct := 0o17_3         // same as 0o173

	// use casting to declare different types of integer
	a := i64(123)
	b := u8(42)
	c := i16(12345)

	// by default, float literals will have the type of f64
	f := 1.0
	f1 := f64(3.14)
	f2 := f32(3.14)

	// float literals can also be declared as a power of ten
	f0 := 42e1   // 420
	f1 := 123e-2 // 1.23
	f2 := 456e+2 // 45600
}
